package sv.gob.mtps.colectivas.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import sv.gob.mtps.colectivas.dao.ExpedienteDAO;
import sv.gob.mtps.colectivas.model.TbExpediente;
import sv.gob.mtps.colectivas.model.TbExpedienteEstado;
import sv.gob.mtps.colectivas.model.TbExpedienteResultado;
import sv.gob.mtps.colectivas.model.VwExpedienteResultado;

@Service
public class ExpedienteServiceImpl implements ExpedienteService {
	
	@Autowired
	ExpedienteDAO expedienteDAO;

	@Transactional
	public void addExpediente(TbExpediente tbExpediente) {
		// TODO Auto-generated method stub
		expedienteDAO.addExpediente(tbExpediente);

	}

	@Transactional
	public List<TbExpediente> listExpedientes() {
		// TODO Auto-generated method stub
		return expedienteDAO.listExpedientes();
	}

	@Transactional
	public List<TbExpediente> listExpedientes(String hql) {
		// TODO Auto-generated method stub
		return expedienteDAO.listExpedientes(hql);
	}

	@Transactional
	public void addExpedienteEstado(TbExpedienteEstado ee) {
		// TODO Auto-generated method stub
		expedienteDAO.addExpedienteEstado(ee);
	}

	@Transactional
	public List<TbExpedienteEstado> listEstadosExpediente(Integer id) {
		// TODO Auto-generated method stub
		return expedienteDAO.listEstadosExpediente(id);
	}

	@Transactional
	public TbExpediente findExpediente(Integer id) {
		// TODO Auto-generated method stub
		return expedienteDAO.findExpediente(id);
	}

	@Transactional
	public void addResultado(TbExpedienteResultado resultado) {
		// TODO Auto-generated method stub
		expedienteDAO.addResultado(resultado);
	}

	@Transactional
	public void editResultado(TbExpedienteResultado resultado) {
		// TODO Auto-generated method stub
		expedienteDAO.editResultado(resultado);
	}

	@Transactional
	public void deleteResultado(Integer id) {
		// TODO Auto-generated method stub
		expedienteDAO.deleteResultado(id);
	}

	@Transactional
	public List<TbExpedienteResultado> listResultadoExpediente(Integer id) {
		// TODO Auto-generated method stub
		return expedienteDAO.listResultadoExpediente(id);
	}

	@Transactional
	public void editExpediente(TbExpediente tbExpediente) {
		// TODO Auto-generated method stub
		expedienteDAO.editExpediente(tbExpediente);
	}

	@Transactional
	public void deleteExpediente(Integer id) {
		// TODO Auto-generated method stub
		expedienteDAO.deleteExpediente(id);
	}

	@Transactional
	public List<VwExpedienteResultado> listExpedienteResultados() {
		// TODO Auto-generated method stub
		return expedienteDAO.listExpedienteResultados();
	}

	@Transactional
	public List<VwExpedienteResultado> listExpedienteResultados(Integer id) {
		// TODO Auto-generated method stub
		return expedienteDAO.listExpedienteResultados(id);
	}

}
